<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xml:lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Guideline: Staffing a Project</title>
<meta name="uma.type" content="Guideline">
<meta name="uma.name" content="staffing_project">
<meta name="uma.presentationName" content="Staffing a Project">
<meta name="element_type" content="other">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../../css/default.css" type="text/css">
<script src="./../../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../../';
					var imgPath = './../../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo,  '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="_Jq64EJjsEduad8I_c-ogIA"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Guideline: Staffing a Project</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../../images/guidance.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">This guideline offers advice for how to staff a software development project and improving the team’s productivity by making informed decisions about team members and how they collaborate.</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Related Elements</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../../core.default.role_def.base/roles/developer_C633AB7.html" guid="_0YDosMlgEdmt3adZL5Dmdw">Developer</a>
</li>
<li>
<a href="./../../../practice.mgmt.two_level_project_planning.base/tasks/plan_the_project_A4A80C96.html" guid="_0lC70MlgEdmt3adZL5Dmdw">Plan Project</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Main Description</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell"><p>
    Good software development teams are made up of a collection of people who collaborate effectively. How the project team
    is staffed, by either adding or removing people, will greatly impact the team's productivity.
</p>
<p>
    When staffing a development project, consider the following advice:
</p>
<ul>
    <li>
        Include people who fit into the existing team culture. Good teams do not just appear magically one day, but instead
        are grown and nurtured over time. Invite people onto the team who will add value and, furthermore, who will not be
        disruptive. Similarly, you may need to invite someone to leave the team if they do not fit well with the existing
        team and they do not seem to be able to change.
    </li>
    <li>
        People should want to be on the team. People are far more productive when they are working on a project that they
        believe in and want to see succeed.
    </li>
    <li>
        Build your team with "generalizing specialists". A generalizing specialist is someone with one or more technical
        specialties who actively seeks to gain new skills in their existing specialties as well as in other areas,
        including both technical and domain areas. Generalizing specialists add value to the team because they have
        specialized skills that you need, while at the same time appreciate the full range of issues that a general
        understanding of the software development process and the business domain offers.
    </li>
    <li>
        Include stakeholders. Stakeholders, including business stakeholders (such as end users) and technical stakeholders
        (such as operations staff), can add significant value to your team. Instead of just interviewing them to gain
        information from them, or asking them to review your work, why not include them as active participants on the team?
    </li>
    <li>
        Include specialists for short-term, specialized work. Specialists can still add value on an agile development team,
        particularly when they have specific skills and experience that existing team members do not have. It can often be
        very effective to bring a specialist into the team for a short period of time to help with a specific task (such as
        installation and setup of an application server, the development of an architectural spike, or simply taking part
        in a review).
    </li>
    <li>
        Give people opportunities to evolve their skills. At the beginning of a project, the team may not have the full
        range of skills that it needs, or perhaps a few individuals may not have the skills required to fulfill the roles
        they are filling. This is a very common risk taken by the majority of project teams for the simple reasons that
        you often cannot find the perfect combination of people and, even if you could, you still want to provide people with
        opportunities to grow as professionals.
    </li>
    <li>
        Remember Brook's Law. Adding people to a late project will only make it later [<a href="./../../../core.default.nav_view.base/guidances/supportingmaterials/references_C6FF2A8D.html#BRO95" guid="__nHToFndEd2EdJKkAyeBng">BRO95</a>]. The corollary is that removing people from a late project may speed
        things up [<a href="./../../../core.default.nav_view.base/guidances/supportingmaterials/references_C6FF2A8D.html" guid="__nHToFndEd2EdJKkAyeBng">AMB04</a>].
    </li>
</ul>
<p>
    Sometimes you will need to go against some of this advice due to environmental constraints. Perhaps only specialists
    are available (although there is nothing stopping a specialist from becoming a generalizing specialist), perhaps there
    are not as many opportunities for people to try new things as they would like, or perhaps the stakeholders are not
    available to be active members of the team. The advice above is designed to lead to as high-performing a team as
    possible, but even partial adherence to this guideline will improve the team.
</p></td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright"><p> This program and the accompanying materials are made available under the<br />
  <a href="http://www.eclipse.org/org/documents/epl-v10.php" target="_blank">Eclipse 
  Public License V1.0</a>, which accompanies this distribution. </p><p/><p> <a class="elementLink" href="./../../../core.default.release_copyright.base/guidances/supportingmaterials/openup_copyright_C3031062.html" guid="_UaGfECcTEduSX6N2jUafGA">OpenUP Copyright</a></p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
